package com.scvtc.domain.dto.system.user;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.scvtc.annotation.like.LikeIgnore;
import com.scvtc.domain.vo.system.user.UserRoleVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * @Description: 用户和角色Dto
 * @Author: yiFei
 * @date: 2022/5/27 14:47
 */
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("用户和角色Dto")
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class UserRoleDto {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    private String userName;

    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称")
    private String nickName;

    /**
     * 密码
     */
    @ApiModelProperty(value = "用户密码")
    private String password;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String phoneNumber;

    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    @LikeIgnore
    private String avatar;

    /**
     * 用户性别（0女，1男，2未知）
     */
    @ApiModelProperty(value = "用户性别（0女，1男，2未知）")
    private String gender;

    /**
     * 用户角色
     */
    @ApiModelProperty(value = "用户角色")
    private List<UserRoleVo> children;
}
